import numpy as np
import cv2 as cv

# 图像的基本操作

img = cv.imread("img/cat.jpg")

px = img[100, 100]
print(px)

print(img[100, 100, 0])

img[100, 100] = (255, 255, 0)
print(img[100, 100])

# 推荐更快的获取和修改像素的方法
print("itme----------------")
print(img.item(100, 100, 0))
img.itemset((100, 100, 0), 218)
print(img.item(100, 100, 0))

print(img.shape)
print(img.size)
print(img.dtype)

# ROI
# 注意：[x,y],x是竖轴，y是横轴，（0，0）在左上角
roi = img[1:100, 1:100]
img[201:300, 1:100] = roi

# 图片通道拆分和合并
# cv.split()是一项代价高昂的操作（就消耗时间而言）
b, g, r = cv.split(img)
# img = cv.merge(b, g, r)

# 假设你要将所有红色像素设置为零，则无需先拆分通道。使用Numpy索引更快：
img[:, :, 2] = 0

cv.imshow("1", img)
cv.waitKey(0)
cv.destroyAllWindows()
